{
  "bundles": [
    {
      "@type": "NXBundle",
      "artifactId": "nuxeo-quota",
      "artifactVersion": "2021.53.3",
      "bundleGroup": {
        "@type": "NXBundleGroup",
        "bundleIds": [
          "org.nuxeo.binary.metadata",
          "org.nuxeo.directory.mongodb",
          "org.nuxeo.dmk-adaptor",
          "org.nuxeo.ecm.audit.io",
          "org.nuxeo.ecm.default.config",
          "org.nuxeo.ecm.jwt",
          "org.nuxeo.ecm.permissions",
          "org.nuxeo.ecm.platform",
          "org.nuxeo.ecm.platform.api",
          "org.nuxeo.ecm.platform.collections.core",
          "org.nuxeo.ecm.platform.commandline.executor",
          "org.nuxeo.ecm.platform.convert",
          "org.nuxeo.ecm.platform.csv.export",
          "org.nuxeo.ecm.platform.dublincore",
          "org.nuxeo.ecm.platform.filemanager",
          "org.nuxeo.ecm.platform.htmlsanitizer",
          "org.nuxeo.ecm.platform.mail",
          "org.nuxeo.ecm.platform.oauth",
          "org.nuxeo.ecm.platform.oauth1",
          "org.nuxeo.ecm.platform.pdf",
          "org.nuxeo.ecm.platform.query.api",
          "org.nuxeo.ecm.platform.rendering",
          "org.nuxeo.ecm.platform.threed",
          "org.nuxeo.ecm.platform.thumbnail",
          "org.nuxeo.ecm.platform.types",
          "org.nuxeo.ecm.platform.url",
          "org.nuxeo.ecm.platform.usermanager",
          "org.nuxeo.ecm.quota",
          "org.nuxeo.ecm.webdav",
          "org.nuxeo.importer.stream",
          "org.nuxeo.mail",
          "org.nuxeo.mongodb.audit",
          "org.nuxeo.search.ui",
          "org.nuxeo.usermapper"
        ],
        "hierarchyPath": "/grp:org.nuxeo.ecm.platform",
        "id": "grp:org.nuxeo.ecm.platform",
        "name": "org.nuxeo.ecm.platform",
        "parentIds": [],
        "readmes": [
          {
            "blobProviderId": "default",
            "content": "# Nuxeo Platform Importer\n\n## About Nuxeo Platform Importer\n\nThe file importer comes as a Java library (with nuxeo runtime service) and a sample JAX-RS interface to launch, monitor and abort import jobs.\nThis project is an on-going project, supported by Nuxeo\n\n## Building\n### How to Build Nuxeo Platform Importer\nBuild the Nuxeo Platform Importer with Maven:\n```$ mvn install -Dmaven.test.skip=true```\n\n## Deploying\nNuxeo Platform Importer is available as two package add-ons [from the Nuxeo Marketplace]\nhttps://connect.nuxeo.com/nuxeo/site/marketplace/package/nuxeo-platform-importer\nhttps://connect.nuxeo.com/nuxeo/site/marketplace/package/nuxeo-scan-importer\n\n## Resources\n### Documentation\nThe documentation for Nuxeo Platform Importer is available in our Documentation Center: http://doc.nuxeo.com/x/gYBVAQ\n\n### Reporting Issues\nYou can follow the developments in the Nuxeo Platform project of our JIRA bug tracker, which includes a Nuxeo Platform Importer component:\nhttps://jira.nuxeo.com/browse/NXP/component/10621\n\nYou can report issues on: http://answers.nuxeo.com/\n\n## About Nuxeo\nNuxeo dramatically improves how content-based applications are built, managed and deployed, making customers more agile, innovative and successful. Nuxeo provides a next generation, enterprise ready platform for building traditional and cutting-edge content oriented applications. Combining a powerful application development environment with SaaS-based tools and a modular architecture, the Nuxeo Platform and Products provide clear business value to some of the most recognizable brands including Verizon, Electronic Arts, Sharp, FICO, the U.S. Navy, and Boeing. Nuxeo is headquartered in New York and Paris. More information is available at www.nuxeo.com.\n",
            "digest": "83bb2a4c6415c9f07db3ab17fa99510c",
            "encoding": "UTF-8",
            "length": 1753,
            "mimeType": "text/plain",
            "name": "README.md"
          }
        ],
        "version": "2021.53"
      },
      "bundleId": "org.nuxeo.ecm.quota",
      "components": [
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.quota.QuotaStatsServiceImpl",
          "documentation": "\n    Service used to compute quota and statistics on documents.\n\n    @author Thomas Roger (troger@nuxeo.com)\n    @since 5.5\n  \n",
          "documentationHtml": "<p>\nService used to compute quota and statistics on documents.\n</p><p>\n&#64;since 5.5\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.quota.QuotaStatsService",
              "descriptors": [
                "org.nuxeo.ecm.quota.QuotaStatsUpdaterDescriptor"
              ],
              "documentation": "\n      Extension point to register QuotaStatsUpdaters that will be used\n      by the service to update the statistics.\n\n      @since 5.5\n    \n",
              "documentationHtml": "<p>\nExtension point to register QuotaStatsUpdaters that will be used\nby the service to update the statistics.\n</p><p>\n&#64;since 5.5\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.QuotaStatsService/ExtensionPoints/org.nuxeo.ecm.quota.QuotaStatsService--quotaStatsUpdaters",
              "id": "org.nuxeo.ecm.quota.QuotaStatsService--quotaStatsUpdaters",
              "label": "quotaStatsUpdaters (org.nuxeo.ecm.quota.QuotaStatsService)",
              "name": "quotaStatsUpdaters",
              "version": "2021.53.3"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.QuotaStatsService",
          "name": "org.nuxeo.ecm.quota.QuotaStatsService",
          "requirements": [],
          "resolutionOrder": 712,
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.quota.QuotaStatsService",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.QuotaStatsService/Services/org.nuxeo.ecm.quota.QuotaStatsService",
              "id": "org.nuxeo.ecm.quota.QuotaStatsService",
              "overriden": false,
              "version": "2021.53.3"
            }
          ],
          "startOrder": 915,
          "version": "2021.53.3",
          "xmlFileContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component name=\"org.nuxeo.ecm.quota.QuotaStatsService\">\n\n  <documentation>\n    Service used to compute quota and statistics on documents.\n\n    @author Thomas Roger (troger@nuxeo.com)\n    @since 5.5\n  </documentation>\n\n  <implementation class=\"org.nuxeo.ecm.quota.QuotaStatsServiceImpl\" />\n\n  <service>\n    <provide interface=\"org.nuxeo.ecm.quota.QuotaStatsService\" />\n  </service>\n\n  <extension-point name=\"quotaStatsUpdaters\">\n    <documentation>\n      Extension point to register QuotaStatsUpdaters that will be used\n      by the service to update the statistics.\n\n      @since 5.5\n    </documentation>\n    <object class=\"org.nuxeo.ecm.quota.QuotaStatsUpdaterDescriptor\" />\n  </extension-point>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/quotastats-service.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentation": "\n    Default contribution to the QuotaStatsService registering a\n    QuotaStatsUpdater to count non-folderish documents.\n\n    @author Thomas Roger (troger@nuxeo.com)\n    @since 5.5\n  \n",
          "documentationHtml": "<p>\nDefault contribution to the QuotaStatsService registering a\nQuotaStatsUpdater to count non-folderish documents.\n</p><p>\n&#64;since 5.5\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.quota.QuotaStatsService--quotaStatsUpdaters",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.contrib/Contributions/org.nuxeo.ecm.quota.contrib--quotaStatsUpdaters",
              "id": "org.nuxeo.ecm.quota.contrib--quotaStatsUpdaters",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.quota.QuotaStatsService",
                "name": "org.nuxeo.ecm.quota.QuotaStatsService",
                "type": "service"
              },
              "version": "2021.53.3",
              "xml": "<extension point=\"quotaStatsUpdaters\" target=\"org.nuxeo.ecm.quota.QuotaStatsService\">\n\n    <quotaStatsUpdater class=\"org.nuxeo.ecm.quota.count.DocumentsCountUpdater\" descriptionLabel=\"label.quota.documentsCountUpdater.description\" label=\"label.quota.documentsCountUpdater\" name=\"documentsCountUpdater\"/>\n\n    <quotaStatsUpdater class=\"org.nuxeo.ecm.quota.size.DocumentsSizeUpdater\" descriptionLabel=\"label.quota.documentsCountAndSizeUpdater.description\" label=\"label.quota.documentsCountSizeUpdater\" name=\"documentsSizeUpdater\"/>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentation": "\n      Property controlling the scroll size when clearing quota size.\n\n      @since 11.1\n    \n",
              "documentationHtml": "<p>\nProperty controlling the scroll size when clearing quota size.\n</p><p>\n&#64;since 11.1\n</p><p></p>",
              "extensionPoint": "org.nuxeo.runtime.ConfigurationService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.contrib/Contributions/org.nuxeo.ecm.quota.contrib--configuration",
              "id": "org.nuxeo.ecm.quota.contrib--configuration",
              "registrationOrder": 58,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.ConfigurationService",
                "name": "org.nuxeo.runtime.ConfigurationService",
                "type": "service"
              },
              "version": "2021.53.3",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.runtime.ConfigurationService\">\n    <documentation>\n      Property controlling the scroll size when clearing quota size.\n\n      @since 11.1\n    </documentation>\n    <property name=\"nuxeo.quota.clear.scroll.size\">500</property>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentation": "\n      Property controlling the scroll lifetime when clearing quota size.\n\n      @since 11.1\n    \n",
              "documentationHtml": "<p>\nProperty controlling the scroll lifetime when clearing quota size.\n</p><p>\n&#64;since 11.1\n</p><p></p>",
              "extensionPoint": "org.nuxeo.runtime.ConfigurationService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.contrib/Contributions/org.nuxeo.ecm.quota.contrib--configuration1",
              "id": "org.nuxeo.ecm.quota.contrib--configuration1",
              "registrationOrder": 59,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.ConfigurationService",
                "name": "org.nuxeo.runtime.ConfigurationService",
                "type": "service"
              },
              "version": "2021.53.3",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.runtime.ConfigurationService\">\n    <documentation>\n      Property controlling the scroll lifetime when clearing quota size.\n\n      @since 11.1\n    </documentation>\n    <property name=\"nuxeo.quota.clear.scroll.keepAliveSeconds\">60</property>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentation": "\n      Property controlling the scroll size when initialising quota size.\n\n      @since 11.1\n    \n",
              "documentationHtml": "<p>\nProperty controlling the scroll size when initialising quota size.\n</p><p>\n&#64;since 11.1\n</p><p></p>",
              "extensionPoint": "org.nuxeo.runtime.ConfigurationService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.contrib/Contributions/org.nuxeo.ecm.quota.contrib--configuration2",
              "id": "org.nuxeo.ecm.quota.contrib--configuration2",
              "registrationOrder": 60,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.ConfigurationService",
                "name": "org.nuxeo.runtime.ConfigurationService",
                "type": "service"
              },
              "version": "2021.53.3",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.runtime.ConfigurationService\">\n    <documentation>\n      Property controlling the scroll size when initialising quota size.\n\n      @since 11.1\n    </documentation>\n    <property name=\"nuxeo.quota.init.scroll.size\">250</property>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentation": "\n      Property controlling the scroll lifetime when initialising quota size.\n\n      @since 11.1\n    \n",
              "documentationHtml": "<p>\nProperty controlling the scroll lifetime when initialising quota size.\n</p><p>\n&#64;since 11.1\n</p><p></p>",
              "extensionPoint": "org.nuxeo.runtime.ConfigurationService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.contrib/Contributions/org.nuxeo.ecm.quota.contrib--configuration3",
              "id": "org.nuxeo.ecm.quota.contrib--configuration3",
              "registrationOrder": 61,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.ConfigurationService",
                "name": "org.nuxeo.runtime.ConfigurationService",
                "type": "service"
              },
              "version": "2021.53.3",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.runtime.ConfigurationService\">\n    <documentation>\n      Property controlling the scroll lifetime when initialising quota size.\n\n      @since 11.1\n    </documentation>\n    <property name=\"nuxeo.quota.init.scroll.keepAliveSeconds\">120</property>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.contrib",
          "name": "org.nuxeo.ecm.quota.contrib",
          "requirements": [],
          "resolutionOrder": 713,
          "services": [],
          "startOrder": 598,
          "version": "2021.53.3",
          "xmlFileContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component name=\"org.nuxeo.ecm.quota.contrib\">\n\n  <documentation>\n    Default contribution to the QuotaStatsService registering a\n    QuotaStatsUpdater to count non-folderish documents.\n\n    @author Thomas Roger (troger@nuxeo.com)\n    @since 5.5\n  </documentation>\n\n  <extension target=\"org.nuxeo.ecm.quota.QuotaStatsService\" point=\"quotaStatsUpdaters\">\n\n    <quotaStatsUpdater name=\"documentsCountUpdater\"\n      class=\"org.nuxeo.ecm.quota.count.DocumentsCountUpdater\"\n      label=\"label.quota.documentsCountUpdater\"\n      descriptionLabel=\"label.quota.documentsCountUpdater.description\"/>\n\n    <quotaStatsUpdater name=\"documentsSizeUpdater\"\n      class=\"org.nuxeo.ecm.quota.size.DocumentsSizeUpdater\"\n      label=\"label.quota.documentsCountSizeUpdater\"\n      descriptionLabel=\"label.quota.documentsCountAndSizeUpdater.description\"/>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.runtime.ConfigurationService\" point=\"configuration\">\n    <documentation>\n      Property controlling the scroll size when clearing quota size.\n\n      @since 11.1\n    </documentation>\n    <property name=\"nuxeo.quota.clear.scroll.size\">500</property>\n  </extension>\n\n  <extension target=\"org.nuxeo.runtime.ConfigurationService\" point=\"configuration\">\n    <documentation>\n      Property controlling the scroll lifetime when clearing quota size.\n\n      @since 11.1\n    </documentation>\n    <property name=\"nuxeo.quota.clear.scroll.keepAliveSeconds\">60</property>\n  </extension>\n\n  <extension target=\"org.nuxeo.runtime.ConfigurationService\" point=\"configuration\">\n    <documentation>\n      Property controlling the scroll size when initialising quota size.\n\n      @since 11.1\n    </documentation>\n    <property name=\"nuxeo.quota.init.scroll.size\">250</property>\n  </extension>\n\n  <extension target=\"org.nuxeo.runtime.ConfigurationService\" point=\"configuration\">\n    <documentation>\n      Property controlling the scroll lifetime when initialising quota size.\n\n      @since 11.1\n    </documentation>\n    <property name=\"nuxeo.quota.init.scroll.keepAliveSeconds\">120</property>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/quotastats-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.event.EventServiceComponent--listener",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.listeners/Contributions/org.nuxeo.ecm.quota.listeners--listener",
              "id": "org.nuxeo.ecm.quota.listeners--listener",
              "registrationOrder": 44,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.event.EventServiceComponent",
                "name": "org.nuxeo.ecm.core.event.EventServiceComponent",
                "type": "service"
              },
              "version": "2021.53.3",
              "xml": "<extension point=\"listener\" target=\"org.nuxeo.ecm.core.event.EventServiceComponent\">\n\n    <listener async=\"false\" class=\"org.nuxeo.ecm.quota.QuotaStatsListener\" name=\"quotaStatsListener\" postCommit=\"false\" priority=\"100\">\n      <event>documentCreated</event>\n      <event>aboutToRemove</event>\n      <event>documentCreatedByCopy</event>\n      <event>documentMoved</event>\n      <event>documentModified</event>\n      <event>beforeDocumentModification</event>\n      <event>aboutToRemoveVersion</event>\n      <event>lifecycle_transition_event</event>\n      <event>aboutToCheckIn</event>\n      <event>documentCheckedIn</event>\n      <event>aboutToCheckout</event>\n      <event>documentCheckedOut</event>\n      <event>documentRestored</event>\n      <event>beforeRestoringDocument</event>\n      <event>documentTrashed</event>\n      <event>documentUntrashed</event>\n    </listener>\n\n     <listener async=\"false\" class=\"org.nuxeo.ecm.quota.QuotaUserWorkspaceListener\" name=\"quotaUserWorkspaceSetter\" priority=\"110\">\n      <event>userWorkspaceCreated</event>\n    </listener>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.listeners",
          "name": "org.nuxeo.ecm.quota.listeners",
          "requirements": [],
          "resolutionOrder": 714,
          "services": [],
          "startOrder": 600,
          "version": "2021.53.3",
          "xmlFileContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component name=\"org.nuxeo.ecm.quota.listeners\">\n\n  <extension target=\"org.nuxeo.ecm.core.event.EventServiceComponent\"\n    point=\"listener\">\n\n    <listener name=\"quotaStatsListener\" async=\"false\" postCommit=\"false\"\n      class=\"org.nuxeo.ecm.quota.QuotaStatsListener\" priority=\"100\">\n      <event>documentCreated</event>\n      <event>aboutToRemove</event>\n      <event>documentCreatedByCopy</event>\n      <event>documentMoved</event>\n      <event>documentModified</event>\n      <event>beforeDocumentModification</event>\n      <event>aboutToRemoveVersion</event>\n      <event>lifecycle_transition_event</event>\n      <event>aboutToCheckIn</event>\n      <event>documentCheckedIn</event>\n      <event>aboutToCheckout</event>\n      <event>documentCheckedOut</event>\n      <event>documentRestored</event>\n      <event>beforeRestoringDocument</event>\n      <event>documentTrashed</event>\n      <event>documentUntrashed</event>\n    </listener>\n\n     <listener name=\"quotaUserWorkspaceSetter\" async=\"false\"\n      class=\"org.nuxeo.ecm.quota.QuotaUserWorkspaceListener\" priority=\"110\">\n      <event>userWorkspaceCreated</event>\n    </listener>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/listeners-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.schema.TypeService--schema",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.core.types/Contributions/org.nuxeo.ecm.quota.core.types--schema",
              "id": "org.nuxeo.ecm.quota.core.types--schema",
              "registrationOrder": 44,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.TypeService",
                "name": "org.nuxeo.ecm.core.schema.TypeService",
                "type": "service"
              },
              "version": "2021.53.3",
              "xml": "<extension point=\"schema\" target=\"org.nuxeo.ecm.core.schema.TypeService\">\n\n    <schema name=\"documents_count_statistics\" prefix=\"dcs\" src=\"schemas/documents_count_statistics.xsd\"/>\n\n    <schema name=\"documents_size_statistics\" prefix=\"dss\" src=\"schemas/documents_size_statistics.xsd\"/>\n\n    <schema name=\"quota_heaviest_containers_cv\" prefix=\"quota_heaviest_containers_cv\" src=\"schemas/quota_heaviest_containers_cv.xsd\"/>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.schema.TypeService--doctype",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.core.types/Contributions/org.nuxeo.ecm.quota.core.types--doctype",
              "id": "org.nuxeo.ecm.quota.core.types--doctype",
              "registrationOrder": 42,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.TypeService",
                "name": "org.nuxeo.ecm.core.schema.TypeService",
                "type": "service"
              },
              "version": "2021.53.3",
              "xml": "<extension point=\"doctype\" target=\"org.nuxeo.ecm.core.schema.TypeService\">\n\n    <facet name=\"DocumentsCountStatistics\">\n      <schema name=\"documents_count_statistics\"/>\n    </facet>\n\n    <facet name=\"DocumentsSizeStatistics\">\n      <schema name=\"documents_size_statistics\"/>\n    </facet>\n\n    <doctype extends=\"Document\" name=\"quota_heaviest_containers_cv\">\n     <schema name=\"quota_heaviest_containers_cv\"/>\n    </doctype>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.core.types",
          "name": "org.nuxeo.ecm.quota.core.types",
          "requirements": [],
          "resolutionOrder": 715,
          "services": [],
          "startOrder": 599,
          "version": "2021.53.3",
          "xmlFileContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component name=\"org.nuxeo.ecm.quota.core.types\">\n\n  <extension target=\"org.nuxeo.ecm.core.schema.TypeService\" point=\"schema\">\n\n    <schema name=\"documents_count_statistics\" prefix=\"dcs\"\n      src=\"schemas/documents_count_statistics.xsd\"/>\n\n    <schema name=\"documents_size_statistics\" prefix=\"dss\"\n      src=\"schemas/documents_size_statistics.xsd\"/>\n\n    <schema name=\"quota_heaviest_containers_cv\" prefix=\"quota_heaviest_containers_cv\"\n      src=\"schemas/quota_heaviest_containers_cv.xsd\"/>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.core.schema.TypeService\" point=\"doctype\">\n\n    <facet name=\"DocumentsCountStatistics\">\n      <schema name=\"documents_count_statistics\" />\n    </facet>\n\n    <facet name=\"DocumentsSizeStatistics\">\n      <schema name=\"documents_size_statistics\" />\n    </facet>\n\n    <doctype name=\"quota_heaviest_containers_cv\" extends=\"Document\">\n     <schema name=\"quota_heaviest_containers_cv\"/>\n    </doctype>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/core-types-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.api.DocumentAdapterService--adapters",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.adapters/Contributions/org.nuxeo.ecm.quota.adapters--adapters",
              "id": "org.nuxeo.ecm.quota.adapters--adapters",
              "registrationOrder": 24,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.api.DocumentAdapterService",
                "name": "org.nuxeo.ecm.core.api.DocumentAdapterService",
                "type": "service"
              },
              "version": "2021.53.3",
              "xml": "<extension point=\"adapters\" target=\"org.nuxeo.ecm.core.api.DocumentAdapterService\">\n\n    <adapter class=\"org.nuxeo.ecm.core.api.quota.QuotaStatsNonFolderishCount\" facet=\"Folderish\" factory=\"org.nuxeo.ecm.quota.count.QuotaStatsAdapterFactory\"/>\n\n    <adapter class=\"org.nuxeo.ecm.quota.size.QuotaAware\" factory=\"org.nuxeo.ecm.quota.size.QuotaAwareDocumentFactory\"/>\n\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.adapters",
          "name": "org.nuxeo.ecm.quota.adapters",
          "requirements": [],
          "resolutionOrder": 716,
          "services": [],
          "startOrder": 597,
          "version": "2021.53.3",
          "xmlFileContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component name=\"org.nuxeo.ecm.quota.adapters\">\n\n  <extension target=\"org.nuxeo.ecm.core.api.DocumentAdapterService\"\n    point=\"adapters\">\n\n    <adapter facet=\"Folderish\"\n      class=\"org.nuxeo.ecm.core.api.quota.QuotaStatsNonFolderishCount\"\n      factory=\"org.nuxeo.ecm.quota.count.QuotaStatsAdapterFactory\" />\n\n    <adapter\n      class=\"org.nuxeo.ecm.quota.size.QuotaAware\"\n      factory=\"org.nuxeo.ecm.quota.size.QuotaAwareDocumentFactory\" />\n\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/adapters-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.work.service--queues",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.work/Contributions/org.nuxeo.ecm.quota.work--queues",
              "id": "org.nuxeo.ecm.quota.work--queues",
              "registrationOrder": 15,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.work.service",
                "name": "org.nuxeo.ecm.core.work.service",
                "type": "service"
              },
              "version": "2021.53.3",
              "xml": "<extension point=\"queues\" target=\"org.nuxeo.ecm.core.work.service\">\n    <queue id=\"quota\">\n      <maxThreads>1</maxThreads>\n      <category>quotaInitialStatistics</category>\n      <category>quotaMaxSizeSetter</category>\n      <name>quota</name>\n    </queue>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.work",
          "name": "org.nuxeo.ecm.quota.work",
          "requirements": [],
          "resolutionOrder": 717,
          "services": [],
          "startOrder": 601,
          "version": "2021.53.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.quota.work\" version=\"1.0\">\n\n  <extension target=\"org.nuxeo.ecm.core.work.service\" point=\"queues\">\n    <queue id=\"quota\">\n      <maxThreads>1</maxThreads>\n      <category>quotaInitialStatistics</category>\n      <category>quotaMaxSizeSetter</category>\n      <name>quota</name>\n    </queue>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/quota-work-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.quota.size.QuotaSizeServiceImpl",
          "documentation": "\n    Component to holds config for the size quota computation\n\n    @author Damien METZLER\n    @since 5.7\n  \n",
          "documentationHtml": "<p>\nComponent to holds config for the size quota computation\n</p><p>\n&#64;since 5.7\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.quota.size.QuotaSizeService",
              "descriptors": [
                "org.nuxeo.ecm.quota.size.BlobExcludeDescriptor"
              ],
              "documentation": "\n      Extension point to exclude some blob paths for quota computation.\n      When computing the total blobs size of a document it can be useful\n      to exclude some blob that could be not relevant to end user. For\n      instance for a document of type Picture, one perhaps don't want\n      to see the blobs for the differents views (thumbnail, medium)\n      to be included in the total size computation.\n\n      <code>\n    <extension point=\"exclusions\" target=\"org.nuxeo.ecm.quota.size.QuotaSizeService\">\n        <exclude path=\"files/*/file\"/>\n        <exclude path=\"views/*/content\"/>\n        <exclude path=\"prefix:attached/*/content\"/>\n    </extension>\n</code>\n",
              "documentationHtml": "<p>\nExtension point to exclude some blob paths for quota computation.\nWhen computing the total blobs size of a document it can be useful\nto exclude some blob that could be not relevant to end user. For\ninstance for a document of type Picture, one perhaps don&#39;t want\nto see the blobs for the differents views (thumbnail, medium)\nto be included in the total size computation.\n</p><p>\n</p><pre><code>    &lt;extension point&#61;&#34;exclusions&#34; target&#61;&#34;org.nuxeo.ecm.quota.size.QuotaSizeService&#34;&gt;\n        &lt;exclude path&#61;&#34;files/*/file&#34;/&gt;\n        &lt;exclude path&#61;&#34;views/*/content&#34;/&gt;\n        &lt;exclude path&#61;&#34;prefix:attached/*/content&#34;/&gt;\n    &lt;/extension&gt;\n</code></pre><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.size.QuotaSizeService/ExtensionPoints/org.nuxeo.ecm.quota.size.QuotaSizeService--exclusions",
              "id": "org.nuxeo.ecm.quota.size.QuotaSizeService--exclusions",
              "label": "exclusions (org.nuxeo.ecm.quota.size.QuotaSizeService)",
              "name": "exclusions",
              "version": "2021.53.3"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.size.QuotaSizeService",
          "name": "org.nuxeo.ecm.quota.size.QuotaSizeService",
          "requirements": [],
          "resolutionOrder": 718,
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.quota.size.QuotaSizeService",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/org.nuxeo.ecm.quota.size.QuotaSizeService/Services/org.nuxeo.ecm.quota.size.QuotaSizeService",
              "id": "org.nuxeo.ecm.quota.size.QuotaSizeService",
              "overriden": false,
              "version": "2021.53.3"
            }
          ],
          "startOrder": 916,
          "version": "2021.53.3",
          "xmlFileContent": "<component name=\"org.nuxeo.ecm.quota.size.QuotaSizeService\">\n\n  <documentation>\n    Component to holds config for the size quota computation\n\n    @author Damien METZLER\n    @since 5.7\n  </documentation>\n\n  <implementation class=\"org.nuxeo.ecm.quota.size.QuotaSizeServiceImpl\" />\n\n  <service>\n    <provide interface=\"org.nuxeo.ecm.quota.size.QuotaSizeService\" />\n  </service>\n\n\n  <extension-point name=\"exclusions\">\n    <documentation>\n      Extension point to exclude some blob paths for quota computation.\n      When computing the total blobs size of a document it can be useful\n      to exclude some blob that could be not relevant to end user. For\n      instance for a document of type Picture, one perhaps don't want\n      to see the blobs for the differents views (thumbnail, medium)\n      to be included in the total size computation.\n\n      <code>\n        <extension target=\"org.nuxeo.ecm.quota.size.QuotaSizeService\"\n          point=\"exclusions\">\n          <exclude path=\"files/*/file\"></exclude>\n          <exclude path=\"views/*/content\"></exclude>\n          <exclude path=\"prefix:attached/*/content\"></exclude>\n        </extension>\n      </code>\n\n    </documentation>\n    <object class=\"org.nuxeo.ecm.quota.size.BlobExcludeDescriptor\" />\n  </extension-point>\n\n</component>",
          "xmlFileName": "/OSGI-INF/quotasize-service.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.operation.OperationServiceComponent--operations",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/rg.nuxeo.ecm.quota.automation.contrib/Contributions/rg.nuxeo.ecm.quota.automation.contrib--operations",
              "id": "rg.nuxeo.ecm.quota.automation.contrib--operations",
              "registrationOrder": 31,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.operation.OperationServiceComponent",
                "name": "org.nuxeo.ecm.core.operation.OperationServiceComponent",
                "type": "service"
              },
              "version": "2021.53.3",
              "xml": "<extension point=\"operations\" target=\"org.nuxeo.ecm.core.operation.OperationServiceComponent\">\n    <operation class=\"org.nuxeo.ecm.quota.automation.GetQuotaInfoOperation\"/>\n    <operation class=\"org.nuxeo.ecm.quota.automation.SetQuotaInfoOperation\"/>\n    <operation class=\"org.nuxeo.ecm.quota.automation.GetQuotaStatisticsOperation\"/>\n    <operation class=\"org.nuxeo.ecm.quota.automation.RecomputeQuotaStatistics\"/>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.automation.server.AutomationServer--bindings",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/rg.nuxeo.ecm.quota.automation.contrib/Contributions/rg.nuxeo.ecm.quota.automation.contrib--bindings",
              "id": "rg.nuxeo.ecm.quota.automation.contrib--bindings",
              "registrationOrder": 5,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.automation.server.AutomationServer",
                "name": "org.nuxeo.ecm.automation.server.AutomationServer",
                "type": "service"
              },
              "version": "2021.53.3",
              "xml": "<extension point=\"bindings\" target=\"org.nuxeo.ecm.automation.server.AutomationServer\">\n    <binding name=\"org.nuxeo.ecm.quota.automation.RecomputeQuotaStatistics\">\n      <administrator>true</administrator>\n    </binding>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota/rg.nuxeo.ecm.quota.automation.contrib",
          "name": "rg.nuxeo.ecm.quota.automation.contrib",
          "requirements": [],
          "resolutionOrder": 719,
          "services": [],
          "startOrder": 774,
          "version": "2021.53.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"rg.nuxeo.ecm.quota.automation.contrib\" version=\"1.0\">\n\n  <extension target=\"org.nuxeo.ecm.core.operation.OperationServiceComponent\"\n    point=\"operations\">\n    <operation\n      class=\"org.nuxeo.ecm.quota.automation.GetQuotaInfoOperation\" />\n    <operation\n      class=\"org.nuxeo.ecm.quota.automation.SetQuotaInfoOperation\" />\n    <operation\n      class=\"org.nuxeo.ecm.quota.automation.GetQuotaStatisticsOperation\" />\n    <operation\n      class=\"org.nuxeo.ecm.quota.automation.RecomputeQuotaStatistics\" />\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.automation.server.AutomationServer\"\n    point=\"bindings\">\n    <binding name=\"org.nuxeo.ecm.quota.automation.RecomputeQuotaStatistics\">\n      <administrator>true</administrator>\n    </binding>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/operations-contrib.xml",
          "xmlPureComponent": true
        }
      ],
      "fileName": "nuxeo-quota-2021.53.3.jar",
      "groupId": "org.nuxeo.ecm.platform",
      "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.quota",
      "id": "org.nuxeo.ecm.quota",
      "location": "",
      "manifest": "Manifest-Version: 1.0\r\nArchiver-Version: Plexus Archiver\r\nCreated-By: Apache Maven\r\nBuilt-By: root\r\nBuild-Jdk: 11.0.22\r\nBundle-ManifestVersion: 1\r\nBundle-Version: 1.0.0\r\nBundle-Name: Nuxeo Quota\r\nBundle-SymbolicName: org.nuxeo.ecm.quota;singleton:=true\r\nBundle-Vendor: Nuxeo\r\nNuxeo-component: OSGI-INF/quotastats-service.xml,OSGI-INF/quotastats-c\r\n ontrib.xml,OSGI-INF/listeners-contrib.xml,OSGI-INF/core-types-contrib\r\n .xml,OSGI-INF/adapters-contrib.xml,OSGI-INF/quota-work-contrib.xml,OS\r\n GI-INF/quotasize-service.xml,OSGI-INF/operations-contrib.xml\r\n\r\n",
      "maxResolutionOrder": 719,
      "minResolutionOrder": 712,
      "packages": [
        "nuxeo-quota"
      ],
      "readme": {
        "blobProviderId": "default",
        "content": "# Nuxeo Quota\n\nNuxeo Quota module.\n\n## About this module\n\nThis module provides a pluggable infrastructure to be able to collect some real time statistics about content in the repository and enforce rules (like Quota).\n\n### Principles\n\nThe QuotaStatsService service provides an extension point to register QuotaStatsUpdater that will be responsible for computing the statistics.\nThe QuotaStatsUpdater will be called:\n\n - via a Synchronous Event Listener\n - in batch mode for initial computation\n\nThe batch mode is triggered via the Admin Center.\n\n### Default contributions\n\nThere are 2 default contributions to QuotaStatsService:\n\n#### documentsCountUpdater\n\nCounts the number non folderish objects and maintain the total number on the parent.\nCount data is stored in a documents_count_statistics.xsd schema that is automatically added to each folderish document during computation.\n\n#### documentsSizeUpdater\n\nComputes Blob size on each item in the content tree.\nEach content item in the tree will have an additional schema documents_size_statistics.xsd that contains:\n\n - the inner size of the object (innerSize): size of all the blobs in this document (in bytes)\n - the total size of the object (totalSize): inner size + size of all the children (in bytes)\n - the allowed maximum total size (maxSize): maximum quota\n\nIf the maxSize is set to -1, then no quota check is performed, otherwise maxSize enforcement is done synchronously.\n\ndocumentsSizeUpdater works in a 2 phases manner:\n\n - synchronously : check what has changed in the document and checks quota\n - asynchronously : update counters on item and all parents\n\nThe synchronous execution that checks Quota will rollback the transaction and raise a QuotaExceededException if the current transaction would break the quota rule.\n\nThe current implementation of documentSizeUpdater:\n\n - handles checks create / update / delete / move / copy\n - takes into accounts the versions (Document with 2 versions will have a total size of inner size + size of the versions).\n\n## Automation API\n\n2 Automation Operations are defined to be able to remotely manage the Quota on a given Document:\n\n - Quotas.GetInfo: to retrieve informations about the Quota Info of a Document (innerSize, totalSize and maxSize)\n - Quotas.SetMaxSize: to define the maximum size allowed in a given Document\n\n# Building\n\n    mvn clean install\n\n## Deploying\n\nInstall [the Nuxeo Quota Marketplace Package](https://connect.nuxeo.com/nuxeo/site/marketplace/package/nuxeo-quota).\nOr manually copy the built artifacts into `$NUXEO_HOME/templates/custom/bundles/` and activate the \"custom\" template.\n\n# About Nuxeo\n\nNuxeo dramatically improves how content-based applications are built, managed and deployed, making customers more agile, innovative and successful. Nuxeo provides a next generation, enterprise ready platform for building traditional and cutting-edge content oriented applications. Combining a powerful application development environment with SaaS-based tools and a modular architecture, the Nuxeo Platform and Products provide clear business value to some of the most recognizable brands including Verizon, Electronic Arts, Sharp, FICO, the U.S. Navy, and Boeing. Nuxeo is headquartered in New York and Paris. More information is available at www.nuxeo.com.\n",
        "digest": "7992b4298700b0a4819b0001cbde4384",
        "encoding": "UTF-8",
        "length": 3289,
        "mimeType": "text/plain",
        "name": "README.md"
      },
      "requirements": [],
      "version": "2021.53.3"
    }
  ],
  "creationDate": 1714377120883,
  "key": "Nuxeo Platform-2021.53",
  "name": "Nuxeo Platform",
  "operations": [
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Quotas",
      "contributingComponent": "rg.nuxeo.ecm.quota.automation.contrib",
      "description": "Returns the Quota Infos (innerSize, totalSize and maxQuota) for a DocumentModel",
      "hierarchyPath": "/op:Quotas.GetInfo",
      "label": "Get Quota info",
      "name": "Quotas.GetInfo",
      "operationClass": "org.nuxeo.ecm.quota.automation.GetQuotaInfoOperation",
      "params": [
        {
          "description": null,
          "isRequired": false,
          "name": "documentRef",
          "order": 0,
          "type": "document",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "jsonadapter",
        "document",
        "jsonadapter"
      ],
      "url": "Quotas.GetInfo",
      "version": "2021.53.3"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Quotas",
      "contributingComponent": "rg.nuxeo.ecm.quota.automation.contrib",
      "description": "Returns the Quota Infos (innerSize, totalSize and maxQuota) for a DocumentModel",
      "hierarchyPath": "/op:Quotas.GetStatistics",
      "label": "Get Quota statistics",
      "name": "Quotas.GetStatistics",
      "operationClass": "org.nuxeo.ecm.quota.automation.GetQuotaStatisticsOperation",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "documentRef",
          "order": 0,
          "type": "document",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "language",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "blob"
      ],
      "url": "Quotas.GetStatistics",
      "version": "2021.53.3"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Quotas",
      "contributingComponent": "rg.nuxeo.ecm.quota.automation.contrib",
      "hierarchyPath": "/op:Quotas.RecomputeStatistics",
      "label": "Recompute quota statistics on documents, optionally only for a tenant, user or path",
      "name": "Quotas.RecomputeStatistics",
      "operationClass": "org.nuxeo.ecm.quota.automation.RecomputeQuotaStatistics",
      "params": [
        {
          "description": null,
          "isRequired": false,
          "name": "path",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "tenantId",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "updaterName",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "username",
          "order": 0,
          "type": "string",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "string"
      ],
      "url": "Quotas.RecomputeStatistics",
      "version": "2021.53.3"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Quotas",
      "contributingComponent": "rg.nuxeo.ecm.quota.automation.contrib",
      "description": "Set the maximum size of the target DocumentModel, use -1 to make Quota checks innative",
      "hierarchyPath": "/op:Quotas.SetMaxSize",
      "label": "Set max Quota size for the target DocumentModel",
      "name": "Quotas.SetMaxSize",
      "operationClass": "org.nuxeo.ecm.quota.automation.SetQuotaInfoOperation",
      "params": [
        {
          "description": null,
          "isRequired": true,
          "name": "targetSize",
          "order": 0,
          "type": "long",
          "values": [],
          "widget": null
        },
        {
          "description": null,
          "isRequired": false,
          "name": "documentRef",
          "order": 0,
          "type": "document",
          "values": [],
          "widget": null
        }
      ],
      "signature": [
        "void",
        "long",
        "document",
        "long"
      ],
      "url": "Quotas.SetMaxSize",
      "version": "2021.53.3"
    }
  ],
  "packages": [
    {
      "@type": "NXPackage",
      "bundles": [
        "org.nuxeo.ecm.quota"
      ],
      "conflicts": [],
      "dependencies": [],
      "hierarchyPath": "/nuxeo-quota-2021.53.3",
      "id": "nuxeo-quota-2021.53.3",
      "name": "nuxeo-quota",
      "optionalDependencies": [],
      "packageType": "addon",
      "title": "Nuxeo Quota",
      "version": "2021.53.3"
    }
  ],
  "pluginSnapshots": {},
  "releaseDate": 1714377120883,
  "version": "2021.53"
}